home *** CD-ROM | disk | FTP | other *** search
Wrap
IIIILLLL((((3333)))) IIIImmmmaaaaggggeeeeVVVViiiissssiiiioooonnnn LLLLiiiibbbbrrrraaaarrrryyyy CCCC++++++++ RRRReeeeffffeeeerrrreeeennnncccceeee MMMMaaaannnnuuuuaaaallll IIIILLLL((((3333)))) NNNNAAAAMMMMEEEE IIIILLLL - overview of ImageVision Library SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS The ImageVision Library (IL) is an object-oriented, extensible toolkit for creating, processing, and displaying images. IL consists of a library developed in C++. An interface for C programmers is provided in a supporting library. DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN IL organizes the diverse I/O, computation, and display requirements of an image-processing application into a set of coordinated object classes. These classes are outlined in the following sections. IIIImmmmaaaaggggeeee CCCCllllaaaassssssss The foundation and unifying concept of IL is the image object. All image types are derived from a common object definition. These image types include: a memory image, implemented as a contiguous array, a file image that acceses image data stored in files, and an operator image that implements an image-processing algorithm. By sharing common mechanisms for manipulating data and attributes, all image types can be handled in a consistent fashion. This results in a streamlined programming model that greatly simplifies application development. See the iiiillllIIIImmmmaaaaggggeeee(3) man page for more details. FFFFiiiilllleeee IIII////OOOO CCCCllllaaaassssssss The file I/O model abstracts how images are accessed from disk. File images use a look-ahead buffer or cache to minimize delays caused by disk I/O. The common object definition allows an application to transparently support the different file formats supported by IL. You can easily integrate new file formats into IL without modifying the application. See the iiiillllFFFFiiiilllleeeeIIIImmmmgggg(3) man page for details on accessing image files. See the IIIIFFFFLLLL(3) man page and the IIIImmmmaaaaggggeeeeVVVViiiissssiiiioooonnnn LLLLiiiibbbbrrrraaaarrrryyyy PPPPrrrrooooggggrrrraaaammmmmmmmiiiinnnngggg GGGGuuuuiiiiddddeeee for details on adding your own file formats. OOOOppppeeeerrrraaaattttoooorrrr CCCCllllaaaasssssssseeeessss IL implements a pull-execution (or demand-driven) model, such that data is processed only on demand. The model is based on the same cached-image model as file images. This technique enables an application to process just the area of interest providing significant benefits in terms of reduced I/O and improved system performance. The pull-execution model also enables IL to efficiently support chaining or linking image- PPPPaaaaggggeeee 1111 IIIILLLL((((3333)))) IIIImmmmaaaaggggeeeeVVVViiiissssiiiioooonnnn LLLLiiiibbbbrrrraaaarrrryyyy CCCC++++++++ RRRReeeeffffeeeerrrreeeennnncccceeee MMMMaaaannnnuuuuaaaallll IIIILLLL((((3333)))) processing operators. This allows a sequence of operations to be performed on a subregion without creating temporary images to hold intermediate results. See the iiiillllOOOOppppIIIImmmmgggg(3) man page and the class summary section below. DDDDiiiissssppppllllaaaayyyy CCCCllllaaaassssssss The display object defines how images are displayed on the screen. It provides an abstraction of an X window and can display one or more images in subregions of the window called views. The display model provides methods to move, resize, reorder, and select views to be operated on by display operators such as split, wipe, inset, and translate. This model allows the application to conveniently specify how images are to be displayed while automatically optimizing to only draw the portions of each image that are exposed. See the iiiillllDDDDiiiissssppppllllaaaayyyy man page. MMMMUUUULLLLTTTTIIII----PPPPRRRROOOOCCCCEEEESSSSSSSSOOOORRRR SSSSUUUUPPPPPPPPOOOORRRRTTTT The IL automatically executes processing requests in parallel on multi- processor systems. This can greatly speed the processing of large images. For debugging, you can disable the multi-processing feature of IL by setting the environment variables, IIIILLLL____CCCCOOOOMMMMPPPPUUUUTTTTEEEE____TTTTHHHHRRRREEEEAAAADDDDSSSS and IIIILLLL____RRRREEEEAAAADDDD____TTTTHHHHRRRREEEEAAAADDDDSSSS, to 0 prior to running an IL based application. See the iiiillllMMMMppppSSSSeeeettttMMMMaaaaxxxxCCCCoooommmmppppuuuutttteeeeTTTThhhhrrrreeeeaaaaddddssss(3) man page for more information. GGGGRRRRAAAAPPPPHHHHIIIICCCCSSSS HHHHAAAARRRRDDDDWWWWAAAARRRREEEE SSSSUUUUPPPPPPPPOOOORRRRTTTT When displaying on SGI platforms IL automatically takes advantage of the graphics hardware features that can accelerate the requested operations. IL automatically evaluates any operator chain that terminates in a display window; operations at the end of the chain that can be collapsed together and executed in the graphics pipeline will be performed there. The Impact, RealityEngine and InfiniteReality graphics subsystems include special support (p-buffers) that allows operator chains requiring multiple passes through the graphics pipeline to be accelerated. P- buffers are allocated in the frame buffer by IL to hold intermediate results between passes. These buffers are independent of the windowing system, so results are not affected by partially obscured windows or edge effects on neighborhood operations. In some cases hardware acceleration may not be desired, perhaps due to precision considerations. This acceleration can be turned off by setting the environment variable, IIIILLLL____HHHHWWWW____AAAACCCCCCCCEEEELLLLEEEERRRRAAAATTTTEEEE, to 0 prior to running an IL based application. See the iiiillllHHHHwwwwSSSSeeeettttGGGGlllloooobbbbaaaallllEEEEnnnnaaaabbbblllleeee(3) man page for more details. Acceleration can also be controlled on individual image objects using the sssseeeettttHHHHwwwwEEEEnnnnaaaabbbblllleeee() method of ilImage. PPPPaaaaggggeeee 2222 IIIILLLL((((3333)))) IIIImmmmaaaaggggeeeeVVVViiiissssiiiioooonnnn LLLLiiiibbbbrrrraaaarrrryyyy CCCC++++++++ RRRReeeeffffeeeerrrreeeennnncccceeee MMMMaaaannnnuuuuaaaallll IIIILLLL((((3333)))) TTTTUUUUNNNNIIIINNNNGGGG AAAANNNNDDDD DDDDEEEEBBBBUUUUGGGG SSSSUUUUPPPPPPPPOOOORRRRTTTT A graphical tool that can be used to monitor image objects and the image data cache is included with the IL development package. This tool, called the _I_L _m_o_n_i_t_o_r, is invoked simply by setting the environment variable, IIIILLLL____MMMMOOOONNNNIIIITTTTOOOORRRR, to either 1 or 2; a value of 2 gives full support, a value of 1 gives a less intrusive level of support. See the IIIILLLLmmmmoooonnnniiiittttoooorrrr(1) man page for more details. DDDDIIIITTTTHHHHEEEERRRRIIIINNNNGGGG CCCCOOOONNNNTTTTRRRROOOOLLLL FFFFOOOORRRR CCCCOOOOLLLLOOOORRRR----IIIINNNNDDDDEEEEXXXX IIIIMMMMAAAAGGGGEEEESSSS IL maintains a global dithering mode, that can be used to control the dithering used to produce color-index images. See the iiiillllSSSSeeeettttDDDDiiiitttthhhheeeerrrr(3) man page for more details. CCCCLLLLAAAASSSSSSSS SSSSUUUUMMMMMMMMAAAARRRRYYYY IIIImmmmaaaaggggeeee IIIImmmmppppoooorrrrtttt////EEEExxxxppppoooorrrrtttt FFFFuuuunnnnccccttttiiiioooonnnnssss ilFileImg Provides the basis for tranferring image data to and from image files, this is IL's interface to the Image Format Library (IFL). ilMemoryImg Accesses a contiguous array of data as an ilImage. CCCCoooolllloooorrrr CCCCoooonnnnvvvveeeerrrrssssiiiioooonnnn ilFalseColorImg Performs false coloring of multispectral images. ilColorImg Performs color conversion to an indicated color model. ilRGBImg Performs RGB color conversion. ilCMYKImg Performs CMYK color conversion. ilHSVImg Performs HSV color conversion. ilGrayImg Performs grayscale color conversion. ilSGIPaletteImg Performs color conversion to use the system's default GL color map. ilSaturateImg Performs color saturation of an image AAAArrrriiiitttthhhhmmmmeeeettttiiiicccc FFFFuuuunnnnccccttttiiiioooonnnnssss ilAbsImg Computes the pixelwise absolute value on an image. ilAddImg Performs a pixelwise addition of two images. ilAndImg Performs a pixelwise logical-and of two images. PPPPaaaaggggeeee 3333 IIIILLLL((((3333)))) IIIImmmmaaaaggggeeeeVVVViiiissssiiiioooonnnn LLLLiiiibbbbrrrraaaarrrryyyy CCCC++++++++ RRRReeeeffffeeeerrrreeeennnncccceeee MMMMaaaannnnuuuuaaaallll IIIILLLL((((3333)))) ilDivImg Performs a pixelwise division of two images. ilExpImg Computes the pixelwise exponent of an image. ilInvertImg Computes the complement of an image. ilLogImg Computes the pixelwise log on an image. ilMaxImg Performs a pixelwise maximum or `>' of two images. ilMinImg Performs a pixelwise minimum or `<' of two images. ilMultiplyImg Performs a pixelwise multiplication of two images. ilNegImg Computes the pixelwise negation on an image. ilOrImg Performs a pixelwise logical-or of two images. ilPowerImg Performs a power law scaling of an image. ilSqRootImg Computes the pixelwise square root of an image. ilSquareImg Computes the pixelwise square of an image. ilSubtractImg Performs a pixelwise subtraction of two images. ilXorImg Performs a pixelwise exclusive-or of two images. RRRRaaaaddddiiiioooommmmeeeettttrrrriiiicccc TTTTrrrraaaannnnssssffffoooorrrrmmmmssss ilHistEqImg Performs histogram equalization of an image. ilHistNormImg Transforms image to desired means and standard deviation. ilHistScaleImg Performs histogram scaling of an image. ilScaleImg Performs a linear scale of an image. ilThreshImg Performs thresholding of an image. GGGGeeeeoooommmmeeeettttrrrriiiicccc TTTTrrrraaaannnnssssffffoooorrrrmmmmssss ilRotZoomImg Rotates, zooms; translates an image with optional flip. ilWarpImg Performs generalized warp on an image. ilTieWarpImg Performs a tie-point warp on an image. ilAffineWarp Defines a 2D affine coordinate transformation. PPPPaaaaggggeeee 4444 IIIILLLL((((3333)))) IIIImmmmaaaaggggeeeeVVVViiiissssiiiioooonnnn LLLLiiiibbbbrrrraaaarrrryyyy CCCC++++++++ RRRReeeeffffeeeerrrreeeennnncccceeee MMMMaaaannnnuuuuaaaallll IIIILLLL((((3333)))) ilPerspWarp Defines a 2D perspective warp. ilPolyWarp Defines up to a seventh-order polynomial warping function. SSSSttttaaaattttiiiissssttttiiiiccccssss ilImgStat Computes the histogram, mean, and standard deviation pixel values of an image. NNNNoooonnnn----ssssppppaaaattttiiiiaaaallll DDDDoooommmmaaaaiiiinnnn TTTTrrrraaaannnnssssffffoooorrrrmmmmssss ilRFFTfImg Performs forward Fourier transform on an image. ilRFFTiImg Performs an inverse Fourier transform on an image. ilFConjImg Computes the conjugate of an image and normalizes the complex value by a real factor. ilFCrCorrImg Computes the cross correlation of two images. ilFDivImg Divides two FFT images. ilFExpFiltImg Applies a Fourier domain filter to a Fourier domain image. ilFGaussFiltImg Applies a Gaussian domain filter to a Fourier domain image. ilFMagImg Accesses only the magnitude values of an FFT image. ilFMergeImg Merges two single-band images and accesses them as an FFT image. ilFMultImg Multiplies two FFT images. ilFPhaseImg Accesses only the phase values of an FFT image. ilFRaisePwrImg Raises the Fourier coefficients of an FFT image by a power in the log domain. ilFSpectImg Computes the spectrum of a fourier domain image SSSSppppaaaattttiiiiaaaallll DDDDoooommmmaaaaiiiinnnn TTTTrrrraaaannnnssssffffoooorrrrmmmmssss ilBlurImg Blurs an image. ilConvImg Convolves an image with specified arbitrary kernel. ilGBlurImg Performs a Gaussian blur on an image. PPPPaaaaggggeeee 5555 IIIILLLL((((3333)))) IIIImmmmaaaaggggeeeeVVVViiiissssiiiioooonnnn LLLLiiiibbbbrrrraaaarrrryyyy CCCC++++++++ RRRReeeeffffeeeerrrreeeennnncccceeee MMMMaaaannnnuuuuaaaallll IIIILLLL((((3333)))) ilMaxFltImg Performs a maximum filter on an image. ilMedFltImg Performs a median filter on an image. ilMinFltImg Performs a minimum filter on an image. ilRankFltImg Performs a rank filter on an image. ilSepConvImg Convolves an image with specified separable kernel. ilSharpenImg Sharpens an image. ilSpatialImg Provides the basis for generalized spatial or neighborhood operators. EEEEddddggggeeee,,,, LLLLiiiinnnneeee,,,, &&&& SSSSppppooootttt DDDDeeeetttteeeeccccttttiiiioooonnnn ilCompassImg Performs a 2D, 3x3 gradient transform on an image. ilLaplaceImg Performs a 2D, 3x3 Laplace transform on an image. ilRobertsImg Computes the gradient vector of an image by performing two 2D spatial convolutions in the x and y directions, using the 3x3 Roberts kernels. ilSobelImg Computes the gradient vector of an image by performing two 2D spatial convolutions in the x and y directions, using the 3x3 Sobel kernels. MMMMoooorrrrpppphhhhoooollllooooggggiiiiccccaaaallll OOOOppppeeeerrrraaaattttiiiioooonnnnssss ilDilateImg Performs a morphological dilation on an image. ilErodeImg Performs a morphological erosion on an image. MMMMiiiisssscccceeeellllllllaaaannnneeeeoooouuuussss ilBlendImg Blends two images. ilCombineImg Combines two images based on an ROI mask. ilCompoundImg Abstract class to manage a subchain as if it was a single object. ilConstImg Constant valued image ilELTImg Performs Electronic Light Table functions ilLutImg Performs look-up table manipulation of an image. PPPPaaaaggggeeee 6666 IIIILLLL((((3333)))) IIIImmmmaaaaggggeeeeVVVViiiissssiiiioooonnnn LLLLiiiibbbbrrrraaaarrrryyyy CCCC++++++++ RRRReeeeffffeeeerrrreeeennnncccceeee MMMMaaaannnnuuuuaaaallll IIIILLLL((((3333)))) ilMergeImg Merges several images into one. ilNopImg Performs page size, data type, order and coordinate space conversions on an image. ilPiecewiseImg Performs a look-up translation of an image using a piecewise linear mapping function. ilRoiImg Masks accesses to an image by an ROI mask. ilSubImg Selects a rectangular subregion and/or channel subset of an image. ilSwitchImg Implements a switch construct in an image operator chain. DDDDiiiissssppppllllaaaayyyy ilFrameBufferImg Abstract class for displayed images. ilXWindowImg Displays an image in an X window with X-rendering. ilDisplay Manages the display of images in an X window. ilViewer Adds some basic X event loop support to the ilDisplay object. ilView Maps an ilImage or XImage to a rectangular area within an ilDisplayImg. ilStereoView Maps a pair of images to a rectangular area within an ilDisplayImg and displays them as a stereo pair. VVVViiiieeeewwwwKKKKiiiitttt ssssuuuuppppppppoooorrrrtttt ilVkDetailView Displays detailed image pixel information. ilVkFileInfo Displays information about an image file. ilVkHistGraph Displays graph of histogram for an image. ilVkImgAttributes Displays editable image attributes. ilVkImgInfo Displays information about an image. ilVkRotZoomView Rotates and zooms a single ilImage. ilVkSaveDialog Puts up an dialog to specify an image file to save to. ilVkView Statically displays a single ilImage. PPPPaaaaggggeeee 7777 IIIILLLL((((3333)))) IIIImmmmaaaaggggeeeeVVVViiiissssiiiioooonnnn LLLLiiiibbbbrrrraaaarrrryyyy CCCC++++++++ RRRReeeeffffeeeerrrreeeennnncccceeee MMMMaaaannnnuuuuaaaallll IIIILLLL((((3333)))) ilVkViewer Dynamically displays multiple ilImages. ilVkWindow Top-level window for displaying multiple images. FFFFIIIILLLLEEEESSSS /usr/include/il/*.h header files /usr/lib/libil.a C++ library /usr/lib/libcil.a C library /usr/lib/libilMon.so IL monitor shared object /usr/share/src/il/ Example source /usr/share/catman/p_man/cat3/il/*.z C++ man pages /usr/share/catman/p_man/cat3/il_c/*.z C man pages SSSSEEEEEEEE AAAALLLLSSSSOOOO IL(1), ILmonitor(1), ilImage(3), ilOpImg(3), ilFileImg(3), ilDisplay(3), ilHwSetGlobalEnable(3), ilMpSetMaxComputeThreads(3) Please refer to the _I_m_a_g_e_V_i_s_i_o_n _L_i_b_r_a_r_y _P_r_o_g_r_a_m_m_i_n_g _G_u_i_d_e for a full description of overall concepts and architecture. PPPPaaaaggggeeee 8888